package com.elai.baseconfig.domain;

import com.elai.common.annotation.Excel;
import com.elai.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 应用管理对象 base_application_info
 *
 * @author elai
 * @date 2021-07-03
 */
public class BaseApplicationInfoDO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 租户ID */
    private String lesseeId;

    private String lesseeName;

    /** 应用名称 */
    @Excel(name = "应用名称")
    private String name;

    /** 应用编码 */
    @Excel(name = "应用编码")
    private String appCode;

    /** 应用类型weichat,android,web,h5 */
    @Excel(name = "应用类型weichat,android,web,h5")
    private String appType;

    /** 应用描述 */
    @Excel(name = "应用描述")
    private String appDesc;

    /** 是否可用Y是 N否 */
    @Excel(name = "是否可用Y是 N否")
    private String status;

    private String defaultFlag;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getLesseeName() {
        return lesseeName;
    }

    public void setLesseeName(String lesseeName) {
        this.lesseeName = lesseeName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }

    public void setLesseeId(String lesseeId)
    {
        this.lesseeId = lesseeId;
    }
    public String getLesseeId()
    {
        return lesseeId;
    }

    public void setName(String name)
    {
        this.name = name;
    }
    public String getName()
    {
        return name;
    }

    public void setAppCode(String appCode)
    {
        this.appCode = appCode;
    }
    public String getAppCode()
    {
        return appCode;
    }

    public void setAppType(String appType)
    {
        this.appType = appType;
    }
    public String getAppType()
    {
        return appType;
    }

    public void setAppDesc(String appDesc)
    {
        this.appDesc = appDesc;
    }
    public String getAppDesc()
    {
        return appDesc;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }
    public String getStatus()
    {
        return status;
    }
    public String getDefaultFlag() {
        return defaultFlag;
    }

    public void setDefaultFlag(String defaultFlag) {
        this.defaultFlag = defaultFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("lesseeId", getLesseeId())
            .append("name", getName())
            .append("appCode", getAppCode())
            .append("appType", getAppType())
            .append("appDesc", getAppDesc())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
